.m-rate {
  display: inline-flex;
  align-items: center;

  .m-rate__content {
    display: flex;
    position: relative;
    margin-right: 4rpx;

    &.is-active {
      animation: jump 0.4s ease-in-out;
    }

    @keyframes jump {
      0% {
        transform: scale(1);
      }

      60% {
        transform: scale(1.2);
      }

      100% {
        transform: scale(1);
      }
    }

    .m-rate__icon {
      vertical-align: top;
      display: inline-flex;

      &.m-rate__icon--half {
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        width: 50%;
        overflow: hidden;
      }
    }

    .m-rate__half-icon {
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      width: 50%;
      overflow: hidden;
    }
  }

  .m-rate__score {
    margin-left: 12rpx;
  }
}